home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 19 Adventure Games / ADV64.BIN / ADVENTURE 64 (.txt) next >
Encoding:
Commodore BASIC  |  2019-04-13  |  13.0 KB  |  505 lines

  1. 100 REM V1 2 JUL/86
  2. 110 DATA 162,6,32,198,255,32,228,255,201,35,208,249,76,204,255
  3. 111 DATA 162,19,134,252,162,6,32,198,255,32,228,255,164,144,8,72
  4. 112 DATA 32,204,255,104,201,35,240,37,32,210,255,201,13,208,26,198,252,208,22
  5. 113 DATA 162,0,189,210,3,32,210,255,232,224,8,208,245,32,228,255
  6. 114 DATA 240,251,162,19,134,252,40,240,200,96,40,96,91,77,79,82,69,93,145,13
  7. 120 FORJ=900TO985:READX:POKEJ,X:U=U+X:NEXTJ
  8. 121 IF U<>12164 THEN STOP
  9. 130 K1=131:DIMK%(K1),K(K1),D%(4)
  10. 140 S1=114:DIMS%(S1),T%(S1),S$(S1),M%(S1,10)
  11. 150 I1=38:DIMI%(I1),I$(I1),IV$(I1)
  12. 160 PRINT" WELCOME ";
  13. 170 OPEN1,8,2,"0:ADVKEYS":FORJ=1TOK1:INPUT#1,K%(J),K(J):NEXTJ:CLOSE1
  14. 180 PRINT"TO ";
  15. 190 OPEN1,8,2,"0:ADVSHOR":FORJ=1TOS1:INPUT#1,S$(J),T%(J):NEXTJ:CLOSE1
  16. 200 PRINT"ADVENTURE";
  17. 210 OPEN1,8,2,"0:ADVMAP":FORJ=1TOS1:FORK=1TO10:INPUT#1,M%(J,K):NEXTK,J:CLOSE1
  18. 220 PRINT"!"
  19. 230 OPEN1,8,2,"0:ADVITM":FORJ=1TOI1:INPUT#1,I$(J):NEXTJ
  20. 240 FORJ=1TOI1:INPUT#1,I%(J):NEXTJ
  21. 250 FORJ=1TOI1:INPUT#1,IV$(J):NEXTJ:CLOSE1
  22. 260 L1=6:L5=1E6:L6=149:B0=1:S%(0)=1
  23. 270 INPUT "DO YOU WANT INSTRUCTIONS";Z$
  24. 280 F1=0
  25. 290 IFASC(Z$)=78GOTO330
  26. 300 GOSUB4460
  27. 330 J1=0
  28. 340 K9=18:GOSUB4260:IF(T%(L1)AND1)>0OR(I=-1ANDL=1)GOTO360
  29. 350 F1=13:GOTO2930
  30. 360 IFS%(L1)=5GOTO380
  31. 370 IFS%(L1)>0ORF9>J1GOTO390
  32. 380 IF(T%(L1)AND64)=0THENF1=L1+200:S%(L1)=0:GOSUB4460:GOTO400
  33. 390 PRINTS$(L1)
  34. 400 S%(L1)=S%(L1)+1:GOSUB3740
  35. 410 IFI%(27)=-1THENF1=50:GOSUB4460
  36. 420 IFM0=0GOTO4410
  37. 430 GOSUB3570:PRINT:INPUT"ACTION  [191][157][157][157]";A$
  38. 431 IF A$="SAVE" GOTO 5000
  39. 432 IF A$="RESTORE" GOTO 5300
  40. 440 A=LEN(A$):FORJ=1TOA:IFASC(MID$(A$,J))=32THENNEXTJ
  41. 450 K9=0:J1=J:IFJ>AGOTO420
  42. 460 FORJ=J1TOA:IFASC(MID$(A$,J))<>32THENNEXTJ
  43. 470 J2=J-J1:IFJ<=ATHENFORJ=JTOA:IFASC(MID$(A$,J))=32THENNEXTJ
  44. 480 IFJ>ATHENJ3=J1:J4=J2:GOTO510
  45. 490 J3=J:FORJ=J3TOA:IFASC(MID$(A$,J))<>32THENNEXTJ
  46. 500 J4=J-J3
  47. 510 L$=MID$(A$,J3,J4):B=0:FORJ=1TO5:B=B*26+ASC(MID$(L$,J))-64
  48. 520 IFJ<LEN(L$)THENNEXTJ
  49. 530 FORJ=1TO77:IFB=K(J)GOTO550
  50. 540 NEXTJ:IFL$="IT"ORL$="THEM"THENK9=K8:GOTO560
  51. 550 K9=K%(J):K7=J:IFK9>199THENK9=0
  52. 560 K8=K9:IFK9>99ANDK9<>154THENK=K9:GOTO750
  53. 570 K$=MID$(A$,J1,J2):B=0:FORJ=1TO5:B=B*26+ASC(MID$(K$,J))-64
  54. 580 IFJ<LEN(K$)THENNEXTJ
  55. 590 FORJ=51TOK1:IFB=K(J)GOTO650
  56. 600 NEXTJ:IFK9=0THENPRINT"I DON'T KNOW THAT WORD.":GOTO420
  57. 610 IFK6>0THENK=K6:GOTO730
  58. 620 GOSUB4260:IFI>0GOTO420
  59. 630 J=K7:IFK9>0THENPRINT"WHAT DO YOU WANT TO DO WITH THE ";L$;"?":GOTO420
  60. 640 PRINT"I DON'T KNOW HOW TO DO THAT.":GOTO420
  61. 650 K=K%(J):K6=0:IFK9>0ORK<299GOTO730
  62. 660 IFK=304THENJ1=1:J2=34:GOTO690
  63. 670 IFK=307THENJ1=35:J2=38:GOTO690
  64. 680 K6=K:PRINTK$;" WHAT?":GOTO420
  65. 690 FORJ=J1TOJ2:IFI%(J)<>L1GOTO720
  66. 700 IFK9>0GOTO680
  67. 710 K9=J
  68. 720 NEXTJ:IFK9=0GOTO680
  69. 730 IFK9=39THENF1=101:GOTO2930
  70. 740 IFK9>0ANDK9<35THENGOSUB4260:IFI>=0GOTO1820
  71. 750 M0=0:IFK>99ANDK<110GOTO860
  72. 760 IFK<200ANDL5<50THENPRINT"PLEASE EXIT BY MAIN ENTRANCE ONLY.":GOTO420
  73. 765 IFK9=32ANDL1>112THENF1=128:GOTO2930
  74. 770 ONK-149GOTO1660,1690,1710,1900,1920,1960,3510,840,3410
  75. 780 ONK-199GOTO2140,1830,4570,2250,2290,2310,2970,3030,3420,3540
  76. 790 ONK-209GOTO3550,3560,4670,1650,420,2000,2030,3260,3310,3330
  77. 800 ONK-219GOTO3380,3390
  78. 810 ONK-299GOTO1980,2060,2190,2230,2340,2500,2610,2740,2850,3120
  79. 820 ONK-309GOTO3220,3460,3480,1740,1770
  80. 840 FORJ=1TO10:IFL2=M%(L1,J)THENL9=L2:GOTO900
  81. 850 NEXTJ:PRINT"I'VE FORGOTTEN WHICH WAY I CAME.":GOTO420
  82. 860 M0=1:D=K-99
  83. 870 IFL>0GOTO890
  84. 880 K9=18:GOSUB4260:IF(T%(L1)AND3)=2THENGOTO2040
  85. 890 L9=M%(L1,D):IFL9=0THENPRINT"YOU CAN'T GO THAT WAY.":GOTO420
  86. 900 IFI%(37)=L1ANDL9<>L2THENPRINT"YOU CAN'T GET BY THE SNAKE":GOTO420
  87. 910 IFI%(36)=L1ANDL9<>L2THENF1=53:GOTO2930
  88. 920 IFABS(L1-L9)>1GOTO1010
  89. 930 IFL1+L9=21ANDG=0THENF1=100:GOTO2930
  90. 940 IFL1+L9=39ANDB2=0THENF1=102:GOTO2930
  91. 950 IFL1+L9<>115GOTO980
  92. 960 FORJ=1TOI1:IFJ=10ORI%(J)<>-1THENNEXTJ:GOTO980
  93. 970 F1=120:GOTO2930
  94. 980 IFL1+L9=121GOTO1200
  95. 990 IFL1+L9=147ANDD2=0THENF1=130:GOTO2930
  96. 1000 IFL1=17ANDI%(1)=-1THENF1=103:GOTO2930
  97. 1010 IFL1<>40ORL9<>37GOTO1040
  98. 1020 F1=57:J=25:IFI%(25)>-1THENJ=31:F1=58
  99. 1030 IFI%(J)=-1GOTO2930
  100. 1040 IFL9=255THENGOSUB1260
  101. 1050 L2=L1:L1=L9:IFL1<10GOTO1090
  102. 1060 L5=L5-1:IFL5<>50GOTO1080
  103. 1070 FORJ=17TO23STEP2:I%(J)=0:NEXTJ:I%(16)=0:G=0:B0=0:B2=0:F1=55:GOSUB4460
  104. 1080 IFL5=0THENF1=56:GOSUB4460:FORJ=16TO21:I%(J)=0:NEXTJ:L1=113:GOTO330
  105. 1090 L6=L6-L:IFL6>75ORI%(33)>-1GOTO1110
  106. 1100 L6=1E9:I%(33)=0:I%(34)=-1:F1=11:GOSUB4460
  107. 1110 IFL6<0THENF1=104:GOTO4660
  108. 1120 IFL6=75THENF1=10:GOSUB4460
  109. 1130 IF(T%(L1)AND32)>0GOTO330
  110. 1140 FORJ=0TO4:D%=D%(J):IFD%<0ORD%=L1GOTO1180
  111. 1150 IFD%=L2THENIFL1>17AND(L1<58ORL1>69)THEND%=L1:GOTO1170
  112. 1160 D%=RND(1)*84+17:IFD%>57THEND%=D%+12
  113. 1170 D%(J)=D%
  114. 1180 NEXTJ
  115. 1190 GOTO330
  116. 1200 IFB3=1THEND=0:GOTO890
  117. 1210 IFT=1ANDI%(35)=L1THENT=0:F1=110:GOTO2930
  118. 1230 F1=105:IFT=0GOTO2930
  119. 1240 IFI%(27)=-1THENB3=1:S%(66)=1:F1=19:GOSUB4460:GOTO4590
  120. 1250 GOTO1000
  121. 1260 IFL1=44GOTO1290
  122. 1270 IFD=7ORRND(1)>.1GOTO1350
  123. 1280 L9=38:GOTO1370
  124. 1290 IFRND(1)<.5GOTO1350
  125. 1300 L9=33:J=RND(1):IFJ<.2GOTO1370
  126. 1310 L9=37:IFJ<.4GOTO1370
  127. 1320 L9=45:IFJ<.6GOTO1370
  128. 1330 L9=92:IFJ<.8GOTO1370
  129. 1340 L9=76:GOTO1370
  130. 1350 PRINT"YOU HAVE CRAWLED THRU SOME LITTLE HOLES":L9=L1
  131. 1360 PRINT"AND ENDED UP IN THE MAIN PASSAGE."
  132. 1370 RETURN
  133. 1380 K=B4
  134. 1390 IFI%(26)=39THENK=K+1
  135. 1400 J2=-2:IFD%(4)>=0ANDI%(15)>0THENJ2=I%(15)
  136. 1410 V=10:FORJ=1TO15:J1=I%(J)
  137. 1420 IFJ1=-1THENK=K+V/2:GOTO1460
  138. 1430 IFJ1=7THENK=K+V:GOTO1450
  139. 1440 IFJ1=J2THENK=K+INT(V/4)
  140. 1450 IFS%(J1)>0THENK=K+1
  141. 1460 IFJ=5THENV=20
  142. 1470 NEXTJ
  143. 1480 FORJ=0TO3:IFD%(J)<0THENK=K+6
  144. 1490 NEXTJ
  145. 1500 K=K-R0*3-H+(L1>10)*2
  146. 1510 J1=K:B$=" BEGINNING":K=K-20:IFK<0GOTO1560
  147. 1520 B$=" NOVICE":K=K-30:IFK<0GOTO1560
  148. 1530 B$=" SEASONED":K=K-50:IFK<0GOTO1560
  149. 1540 B$="N ADVANCED":K=K-80:IFK<0GOTO1560
  150. 1550 B$="N EXPERT"
  151. 1560 PRINT"YOUR SCORE IS";J1;"OUT OF A POSSIBLE"
  152. 1570 PRINT"300, WHICH RATES YOU AS A";B$
  153. 1580 PRINT"ADVENTURER."
  154. 1590 IFK<0GOTO1620
  155. 1600 IFJ1>=300THENPRINT"CONGRATULATIONS ON A PERFECT SCORE!"
  156. 1610 GOTO1640
  157. 1620 PRINT"TO ACHIEVE THE NEXT HIGHER RATING, YOU"
  158. 1630 PRINT"WILL NEED";-K;"MORE POINTS."
  159. 1640 RETURN
  160. 1650 GOSUB1380:GOTO420
  161. 1660 IFL1<>7ANDL1<>26GOTO1680
  162. 1670 L9=33-L1:GOTO1050
  163. 1680 PRINT"NOTHING HAPPENS.":GOTO420
  164. 1690 IFL1<>7ANDL1<>13GOTO1680
  165. 1700 L9=20-L1:GOTO1050
  166. 1710 IFL1<>26ANDL1<>58GOTO1680
  167. 1720 IFI%(10)=-1THENI%(10)=58
  168. 1730 L9=84-L1:GOTO1050
  169. 1740 F1=106:IFK9=26GOTO2930
  170. 1750 F1=107:IFK9<>31ORL1<113GOTO2930
  171. 1760 F1=82:GOSUB4460:GOSUB3710:GOTO420
  172. 1770 F1=108:IFK9<>41GOTO2930
  173. 1780 F1=109:IFL1=80GOTO2930
  174. 1790 IFL1<113GOTO1820
  175. 1800 F1=80:GOSUB4460
  176. 1810 F1=69:GOTO4660
  177. 1820 PRINT"I SEE NO ";L$;" HERE.":GOTO420
  178. 1830 IFK9=16AND(T%(L1)AND16)>0GOTO2260
  179. 1840 D=0:IFL1=19THEND=7
  180. 1850 IFL1=20THEND=3
  181. 1860 IFL1=60THEND=2
  182. 1870 IFL1=61THEND=6
  183. 1880 GOTO890
  184. 1890 GOTO1680
  185. 1900 IFL1>10GOTO1680
  186. 1910 L9=7:GOTO1050
  187. 1920 IFL1<5ORL1>9GOTO1940
  188. 1930 L9=10:GOTO1050
  189. 1940 IFL1<12ORL1>16GOTO1680
  190. 1950 L9=11:GOTO1050
  191. 1960 IFL1<25ORL1>32GOTO1680
  192. 1970 L9=26:GOTO1050
  193. 1980 IFK9=18THENF1=17:GOTO2930
  194. 1990 PRINT"PECULIAR.  ";:GOTO1680
  195. 2000 IFL1<>50THEND=9:GOTO890
  196. 2010 D=0:IFP1<>2GOTO890
  197. 2020 L9=70:GOTO920
  198. 2030 IF(T%(L1)AND2)=0GOTO1680
  199. 2040 F1=18:GOSUB4460:GOTO4590
  200. 2050 IFI%(21)=L1ANDI%(K9)=L1THENI%(21)=-1:I%(K9)=-1:GOTO2490
  201. 2060 IFI%(21)<>-1THENB$="BOTTLE":GOTO2110
  202. 2070 IFK9=6THENF1=52:GOTO2930
  203. 2080 IF(T%(L1)AND16)>0THENB0=1:I%(16)=-1:I%(17)=0:GOTO2130
  204. 2090 IFL1=49THENB0=2:I%(17)=-1:I%(16)=0:GOTO2130
  205. 2100 GOTO2120
  206. 2110 PRINT"YOU HAVE NO ";B$:GOTO420
  207. 2120 PRINT"NOTHING TO FILL HERE.":GOTO420
  208. 2130 PRINT"THE BOTTLE IS FILLED.":GOTO420
  209. 2140 IFI%(21)<>-1GOTO2060
  210. 2150 IFL1=50ANDI%(16)<0GOTO2990
  211. 2160 PRINT"THE BOTTLE IS EMPTY."
  212. 2170 IFI%(16)+I%(17)=-1THENF1=71:GOSUB4460
  213. 2180 B0=0:I%(17)=0:I%(16)=0:GOTO420
  214. 2190 IFK9<>18GOTO2220
  215. 2200 L=1:IF(T%(L1)AND1)=0GOTO330
  216. 2210 GOTO2490
  217. 2220 PRINT"I DON'T UNDERSTAND.":GOTO420
  218. 2230 IFK9<>18GOTO2220
  219. 2240 L=0:GOTO2490
  220. 2250 IFK9<>16OR(T%(L1)AND16)=0GOTO2270
  221. 2260 F1=71:GOTO2930
  222. 2270 IFL1=6ORL1=68THEND=3:GOTO890
  223. 2275 IFL1=10THEND=10:GOTO890
  224. 2280 GOTO1680
  225. 2290 IFL1=7ORL1=69THEND=7:GOTO890
  226. 2300 GOTO1680
  227. 2310 FORJ=1TOI1:IFI%(J)>-1THENNEXTJ:PRINT"YOU ARE CARRYING NOTHING.":GOTO420
  228. 2320 J1=J:PRINT"YOU HAVE:":FORJ=I1TOJ1STEP-1:IFI%(J)=-1ANDJ<>27THENPRINTIV$(J)
  229. 2330 NEXTJ:PRINT:GOTO420
  230. 2340 IFK9=16ORK9=17GOTO2050
  231. 2350 Z8=0:FORJ=1TOI1:IFI%(J)=-1THENZ8=Z8+1
  232. 2360 NEXTJ:IFZ8<7ORK9=27GOTO2380
  233. 2370 PRINT"YOU'RE CARRYING TOO MUCH.":GOTO420
  234. 2380 F1=44:IFK9=14ANDI%(36)>0GOTO2930
  235. 2390 F1=38:IF(K9=12ORK9=27ORK9=28)ANDB1=0ANDI%(27)=L1GOTO2930
  236. 2400 F1=116:IF(K9=12ORK9=27)ANDC=0GOTO2930
  237. 2410 IFK9=42THENIFL1=50ORL1>112THENF1=76:GOTO2930
  238. 2420 IFK9=32ANDI%(23)=-1THENF1=20:GOTO2930
  239. 2430 IFK9<>32ORI%(22)<0GOTO2450
  240. 2440 F1=111:GOTO2930
  241. 2450 IFK9>34THENPRINT"YOU MUST BE JOKING!":GOTO420
  242. 2460 I%(K9)=-1
  243. 2470 IFK9=21ANDB0>0THENI%(B0+15)=-1
  244. 2480 IFK9=31ANDL1=113THENPRINT"OK.":F1=81:GOTO2930
  245. 2490 PRINT"OK.":GOTO420
  246. 2500 IFK9=16ORK9=17GOTO2140
  247. 2505 IFK9>34GOTO2220
  248. 2510 I%(K9)=L1:IFK9=21ANDB0>0THENI%(15+B0)=L1
  249. 2520 IFL1>112THENGOSUB4340:IFI<0THENI%(K9)=0
  250. 2530 IFK9=16ORK9=17THENB0=0:I%(K9)=0
  251. 2540 IFK9=22ANDI%(32)=-1THENI%(32)=L1
  252. 2550 IFK9=4ANDL1=100THENI%(K9)=0:I%(33)=L1:GOTO2730
  253. 2560 IFK9<>6GOTO2580
  254. 2570 IFI%(29)<>L1THENF1=14:GOSUB4460:I%(K9)=0:I%(30)=L1
  255. 2580 IFK9=32GOTO3120
  256. 2590 IFK9<>27ORT>0ORI%(35)<>L1GOTO2490
  257. 2600 T=2:F1=31:GOTO2930
  258. 2610 IFK9>15ORI%(35)<>L1GOTO2630
  259. 2620 I%(35)=121-L1:I%(K9)=0:T=1:F1=54:GOTO2930
  260. 2630 IFK9=20ANDI%(27)=L1GOTO2960
  261. 2640 IFK9<>28GOTO2500
  262. 2650 IFI%(35)=L1THENF1=16:GOTO2930
  263. 2660 IFI%(27)=L1ANDB1=0THENF1=77:GOTO2930
  264. 2670 FORJ=0TO3:IFD%(J)<>L1THENNEXTJ:GOTO2500
  265. 2680 IFRND(1)<.5THENPRINT"MISSED!":GOTO2720
  266. 2690 PRINT"YOU KILLED A LITTLE DWARF":J2=J:FORJ=1TO3:IFD%(J)<0GOTO2710
  267. 2700 NEXTJ:F1=40:GOSUB4460
  268. 2710 D%(J2)=-1
  269. 2720 I%(28)=L1:J1=0
  270. 2730 GOSUB3890:GOTO420
  271. 2740 IFK9<I1ANDI%(K9)<>L1GOTO1820
  272. 2741 IFK9<>I1GOTO2745
  273. 2742 GOSUB4390:IFJ1=0GOTO1820
  274. 2745 IFK9<>36GOTO2790
  275. 2750 INPUT"WITH WHAT?  YOUR BARE HANDS";A$
  276. 2760 IFA$="AXE"THENF1=99:GOTO2930
  277. 2770 IFASC(A$)<>89GOTO440
  278. 2780 I%(36)=0:I%(38)=L1:F1=42:GOTO2930
  279. 2790 IFK9=35THENF1=36:GOTO2930
  280. 2800 IFK9=38THENF1=51:GOTO2930
  281. 2810 IFK9=32THENI%(K9)=0:S%(23)=1:F1=64:GOTO2930
  282. 2820 IFK9=27THENF1=78+SGN(B1):GOTO2930
  283. 2830 F1=113:IFK9>31THENF1=112
  284. 2840 GOTO2930
  285. 2850 IFK9=25ORK9=31THENF1=98:GOTO2930
  286. 2860 IFK9=27GOTO2950
  287. 2870 F1=39:IFK9>31THENONK9-31GOTO2890,2220,2220,2900,2910,2920,2930
  288. 2880 GOTO2220
  289. 2890 F1=21:GOTO2930
  290. 2900 F1=37:GOTO2930
  291. 2910 F1=35:GOTO2930
  292. 2920 F1=35:IFI%(32)=-1GOTO2940
  293. 2930 GOSUB4460:GOTO420
  294. 2940 I%(32)=0:F1=45:GOTO2930
  295. 2950 B$="FOOD":IFI%(20)>-1GOTO2110
  296. 2960 B1=1:I%(20)=0:F1=34:GOTO2930
  297. 2970 B$="WATER":IFL1<>50GOTO620
  298. 2980 IFI%(16)>-1GOTO2110
  299. 2990 I%(16)=0:B0=0:IFP1=3GOTO1680
  300. 3000 P1=P1+1:IFP1=1THENF1=32:GOTO2930
  301. 3010 IFP1=2THENF1=33:GOTO2930
  302. 3020 F1=72:GOTO2930
  303. 3030 B$="KEYS":IFL1=10ORL1=11GOTO3050
  304. 3040 IFL1<>69ORASC(K$)<>85GOTO1680
  305. 3050 IFI%(19)>-1GOTO2110
  306. 3060 IFL1=69GOTO3090
  307. 3070 G=0:IFASC(K$)=85THENG=1
  308. 3080 GOTO2490
  309. 3090 IFB1=0THENF1=38:GOTO2930
  310. 3100 IFC=0THENC=1:B1=2
  311. 3110 F1=121:GOTO2930
  312. 3120 IFK9<>32GOTO3180
  313. 3130 FORJ=36TO37:IFI%(J)=L1GOTO3150
  314. 3140 NEXTJ:I%(K9)=L1:GOTO2490
  315. 3150 IFJ=36GOTO3170
  316. 3160 I%(J)=0:I%(K9)=L1:F1=22:GOTO2930
  317. 3170 I%(K9)=0:F1=23:GOTO2930
  318. 3180 IFK9<>27GOTO2220
  319. 3190 IFI%(K9)=-1GOTO2500
  320. 3200 IFC=0THENK$="U":GOTO3030
  321. 3210 GOTO2220
  322. 3220 IFK9<>23GOTO1680
  323. 3230 IFABS(L1-19.5)>1GOTO1680
  324. 3240 F1=114+B2:B2=1-B2:GOTO2930
  325. 3260 IFL1=10ORL1=11ORL1=114THENK$="U":GOTO3030
  326. 3270 F1=117:IFK9<>25ANDK9<>31GOTO2930
  327. 3280 F1=118:IFI%(9)>-1GOTO2930
  328. 3290 F1=63:IFK9=31GOTO2930
  329. 3300 I%(7)=43:I%(25)=0:I%(31)=L1:F1=41:GOTO2930
  330. 3310 IFL1=10ORL1=11GOTO3030
  331. 3320 GOTO1680
  332. 3330 F1=119:IFL1<113GOTO2930
  333. 3340 F1=66:IFL1=114ANDI%(24)=113GOTO3370
  334. 3350 F1=67:IFL1=113ANDI%(24)=0GOTO3370
  335. 3360 F1=68
  336. 3370 B4=(68-F1)*10+2:GOTO4660
  337. 3380 PRINT"WATCH IT!":GOTO420
  338. 3390 IFL1=113THENF1=46:GOSUB4460:GOTO1810
  339. 3400 GOTO1680
  340. 3410 F1=47:GOTO2930
  341. 3420 B$="OIL":IFL1=50THENF1=129:GOTO2930
  342. 3425 IFL1<>73GOTO620
  343. 3430 IFD2=1GOTO1680
  344. 3440 IFB0<2GOTO2110
  345. 3450 D2=1:I%(17)=0:B0=0:F1=43:GOTO2930
  346. 3460 F1=122:IFK9<>20GOTO2930
  347. 3470 I%(K9)=0:F1=123:GOTO2930
  348. 3480 IF(T%(L1)AND16)>0THENF1=65:GOTO2930
  349. 3490 F1=124:IFK9<>16GOTO2930
  350. 3500 I%(K9)=0:F1=125:GOTO2930
  351. 3510 IFL1<>71GOTO1680
  352. 3520 IFI%(8)=L1ORI%(8)=-1THENI%(8)=0:F1=127:GOTO2930
  353. 3530 I%(8)=L1:I%(35)=60:T=0:F1=126:GOTO2930
  354. 3540 F9=2:F$="":CLOSE6:GOTO420
  355. 3550 F9=0:GOTO420
  356. 3560 F9=1:GOTO420
  357. 3570 IF(T%(L1)AND4)=0THENL4=0:GOTO3730
  358. 3580 L4=L4+1
  359. 3590 F1=92:IFL1=15ANDI%(32)=L1ANDI%(23)=-1ANDL4=4GOTO3670
  360. 3600 F1=88:IFL1=39ANDL4=8GOTO3670
  361. 3610 F1=96:IFL1<9ANDL4=12ANDS%(13)=0GOTO3670
  362. 3620 F1=86:IFL1>87ANDL4=15GOTO3670
  363. 3630 F1=84:IFL1=58ANDL4=4GOTO3670
  364. 3640 F1=94:IFL1=10ANDL4=3ANDI%(19)=7GOTO3670
  365. 3650 F1=90:IFI%(37)=L1ANDL4=3ANDI%(32)>=0GOTO3670
  366. 3660 GOTO3730
  367. 3670 GOSUB4460:PRINT"[145]";:INPUTZ$:IFASC(Z$)<>89THENL4=0:GOTO3730
  368. 3680 PRINT"I AM PREPARED TO GIVE YOU A HINT, BUT"
  369. 3690 PRINT"IT WILL COST YOU";(98-F1)/2;"POINTS."
  370. 3700 PRINT"DO YOU WANT THE HINT";
  371. 3710 INPUTZ$:IFASC(Z$)<>89THENL4=0:GOTO3730
  372. 3720 H=H+(98-F1)/2:F1=F1+1:GOSUB4460
  373. 3730 RETURN
  374. 3740 IFL1=100THENF1=61:GOSUB4460:IFI%>0THENF1=62:GOSUB4460
  375. 3750 IF(T%(L1)AND8)=0GOTO3860
  376. 3760 IFI%(1)=-1GOTO3790
  377. 3770 IFL1=16THENPRINT"ROUGH STONE STEPS LEAD DOWN TO THE PIT."
  378. 3780 IFL1=17THENPRINT"ROUGH STONE STEPS LEAD TO THE TOP OF    THE DOME."
  379. 3790 IFB2=0ORL1<19ORL1>20ORL1+L2=39GOTO3810
  380. 3800 PRINT"A CRYSTAL BRIDGE SPANS THE FISSURE."
  381. 3810 IFL1=73ANDD2=0THENPRINT"A RUSTY DOOR OBSTRUCTS PASSAGE TO NORTH"
  382. 3820 IFL1<60ORL1>61ORL1+L2=121GOTO3860
  383. 3830 IFB3=1THENF1=60:GOSUB4460:GOTO3860
  384. 3840 F1=30:GOSUB4460
  385. 3850 IFT>0THENPRINT"THERE IS NO SIGN OF THE TROLL."
  386. 3860 GOSUB4390:IFD%(0)<0ORJ1=0GOTO3890
  387. 3870 F1=12:GOSUB4460
  388. 3880 I%(28)=L1:FORJ=0TO3:D%(J)=J-1:NEXTJ
  389. 3890 FORJ=1TOI1:IFL1<>I%(J)GOTO3970
  390. 3900 IFJ<>27GOTO3920
  391. 3910 IFB1=0THENF1=131:GOSUB4460:GOTO3970
  392. 3920 IFJ=35ANDT<>0GOTO3970
  393. 3930 IFJ=15THEND%(4)=-1
  394. 3940 IFJ=12ANDC=0GOTO3970
  395. 3950 IFJ=21ANDB0>0GOTO3970
  396. 3960 PRINTI$(J):K8=J
  397. 3970 NEXTJ
  398. 3980 IFS%(40)=0ORI%(15)=0ORL5<99GOTO4020
  399. 3990 FORJ=1TO15:J2=I%(J):IFJ2<1GOTO4010
  400. 4000 IFS%(J2)=0GOTO4020
  401. 4010 NEXTJ:L5=60
  402. 4020 IFL1<10ORL1>11GOTO4050
  403. 4030 IFG=0THENPRINT"THE GRATE IS LOCKED."
  404. 4040 IFG=1THENPRINT"THE GRATE IS OPEN."
  405. 4050 IFL1=26ANDRND(1)>.7THENPRINT"A HOLLOW VOICE SAYS 'PLUGH'."
  406. 4060 IFL1<>50GOTO4080
  407. 4070 IFP1<3THENF1=73+P1:GOSUB4460
  408. 4080 IFL1<47ORL1>49OR(L2>46ANDL2<51)GOTO4110
  409. 4090 IFP1=1ORP1=2THENF1=132+P1:GOSUB4460
  410. 4110 IFI%(27)<>L1GOTO4130
  411. 4120 IFC=0THENF1=132:GOSUB4460
  412. 4130 GOSUB4390:IFJ1=0GOTO4170
  413. 4140 IFJ1=1GOTO4160
  414. 4150 PRINT"THERE ARE";J1;"THREATENING DWARVES HERE!":GOTO4170
  415. 4160 PRINT"THERE IS A THREATENING DWARF HERE!"
  416. 4170 IFD%(4)<>L1GOTO4250
  417. 4180 J2=0:FORJ=1TO14:IFI%(J)=-1THENJ2=J2+1
  418. 4190 NEXTJ:IFJ2<2ANDRND(1)<.3THENF1=70:GOSUB4460
  419. 4200 IFJ2<2GOTO4250
  420. 4210 F1=15:GOSUB4460
  421. 4220 I%=I%(15):IFI%=0THENI%=RND(1)*10+102:I%(15)=I%
  422. 4230 FORJ=1TO14:IFI%(J)=-1THENI%(J)=I%
  423. 4240 NEXTJ:D%(4)=I%
  424. 4250 RETURN
  425. 4260 I=0:IFK9<=I1THENI=I%(K9):IFI=-1GOTO4330
  426. 4270 IF(K9=23ORK9=33)THENIFI%(K9+1)=-1THENK9=K9+1:I=-1:GOTO4330
  427. 4280 IFI=L1THENI=-1:GOTO4330
  428. 4290 IFK9=16AND(T%(L1)AND16)>0THENI=-1
  429. 4300 IFK9=17ANDL1=49THENI=-1
  430. 4310 IFI>=0ANDL1>112THENGOSUB4340
  431. 4320 IF(K9=23ORK9=33)ANDI>=0THENK9=K9+1:GOTO4260
  432. 4330 RETURN
  433. 4340 I=0:IFL1=114GOTO4370
  434. 4350 IFK9=18ORK9=21ORK9=23ORK9=31THENI=-1
  435. 4360 RETURN
  436. 4370 IFK9=22ORK9=24ORK9=29ORK9=32THENI=-1
  437. 4380 RETURN
  438. 4390 J1=0:FORJ=0TO3:IFD%(J)=L1THENJ1=J1+1
  439. 4400 NEXTJ:RETURN
  440. 4410 GOSUB4390:IFJ1=0GOTO4450
  441. 4420 PRINT"A SHARP KNIFE IS THROWN AT YOU!"
  442. 4430 IFRND(1)>.2*J1THENPRINT"IT MISSED!":GOTO4450
  443. 4440 PRINT"IT GOT YOU!":GOTO4590
  444. 4450 GOTO430
  445. 4460 F%=F1/10:F2=F1-F%*10
  446. 4470 F1$="0:ADVF"+STR$(F%)
  447. 4480 IFF$=F1$ANDF2>F3GOTO4500
  448. 4490 CLOSE6:F$=F1$:OPEN6,8,6,F$
  449. 4500 F3=F2:GET#6,Z$:Z=ASC(Z$)-48-F3:IFZ>0THENCLOSE6:RETURN
  450. 4510 IFZ=0GOTO4540
  451. 4520 SYS900:IFST>0THENCLOSE6:RETURN
  452. 4530 GOTO4500
  453. 4540 SYS915
  454. 4550 RETURN
  455. 4560 REM
  456. 4570 J1=1:S%(L1)=0:GOTO340
  457. 4580 GOTO360
  458. 4590 FORJ=1TOI1:IFI%(J)=-1THENI%(J)=L1
  459. 4600 NEXTJ:IFL6<25ORL5<51GOTO4650
  460. 4610 R0=R0+2:F1=R0+22:GOSUB4460:INPUTZ$
  461. 4620 IFASC(Z$)<>89GOTO4670
  462. 4630 F1=R0+23:GOSUB4460:IFR0>5GOTO4670
  463. 4640 L1=7:I%(18)=6:L=0:GOTO330
  464. 4650 F1=59
  465. 4660 GOSUB4460
  466. 4670 GOSUB1380:CLOSE6
  467. 4680 END
  468. 5000 PRINT "SAVING GAME..."
  469. 5010 CLOSE 6
  470. 5020 OPEN 15,8,15
  471. 5030 PRINT#15,"S0:ADVENT.SAVE"
  472. 5040 INPUT#15,D
  473. 5050 F$="X":M0=1
  474. 5060 OPEN 6,8,6,"0:ADVENT.SAVE,S,W"
  475. 5070 FOR J=0 TO 4:PRINT#6,D%(J):NEXT J
  476. 5080 FOR J=0 TO 38:PRINT#6,I%(J):NEXT J
  477. 5090 FOR J=0 TO 114:PRINT#6,S%(J):NEXT J
  478. 5100 Z$=CHR$(13)
  479. 5110 PRINT#6,B0;Z$;B1;Z$;B2;Z$;B3;Z$;D2
  480. 5120 PRINT#6,C;Z$;H;Z$;I%;Z$;G;Z$;T
  481. 5130 PRINT#6,L;Z$;L1;Z$;L5;Z$;L6;Z$;M0
  482. 5160 PRINT#6,P1;Z$;R0;Z$;L2;Z$;L4
  483. 5170 PRINT#6,F$
  484. 5180 CLOSE 6
  485. 5190 CLOSE 15
  486. 5200 PRINT "GAME SAVED."
  487. 5210 GOTO 430
  488. 5300 PRINT "RESTORING GAME..."
  489. 5310 CLOSE 6
  490. 5320 OPEN 15,8,15
  491. 5330 OPEN 6,8,6,"0:ADVENT.SAVE"
  492. 5340 INPUT#15,D,Z$
  493. 5350 IF D<>0 THEN PRINT Z$:GOTO 5440
  494. 5360 FOR J=0 TO 4:INPUT#6,D%(J):NEXT J
  495. 5370 FOR J=0 TO 38:INPUT#6,I%(J):NEXT J
  496. 5380 FOR J=0 TO 114:INPUT#6,S%(J):NEXT J
  497. 5390 INPUT#6,B0,B1,B2,B3,D2
  498. 5400 INPUT#6,C,H,I%,G,T
  499. 5410 INPUT#6,L,L1,L5,L6,M0
  500. 5420 INPUT#6,P1,R0,L2,L4
  501. 5430 INPUT#6,F$
  502. 5440 CLOSE 6
  503. 5450 CLOSE 15
  504. 5460 GOTO 330
  505.